package com.ticket.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ticket.common.annotation.Excel;
import com.ticket.common.core.domain.BaseEntity;

/**
 * 观演卡数据对象 yanchu_movie_card
 * 
 * @author ruoyi
 * @date 2023-12-12
 */
@ApiModel(description = "观演卡数据对象")
public class YanchuMovieCard extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(name = "id",value = "主键")
    private Long id;

    /** 观演卡批次主键id */
    @Excel(name = "观演卡批次主键id")
    @ApiModelProperty(name = "batchId",value = "观演卡批次主键id")
    private Long batchId;

    /** 卡号 */
    @Excel(name = "卡号")
    @ApiModelProperty(name = "cardNum",value = "卡号")
    private String cardNum;

    /** 密码 */
    @Excel(name = "密码")
    @ApiModelProperty(name = "cardPasswoed",value = "密码")
    private String cardPasswoed;

    /** 单张金额 */
    @Excel(name = "单张金额")
    @ApiModelProperty(name = "amount",value = "单张金额")
    private String amount;

    /** 余额 */
    @Excel(name = "余额")
    @ApiModelProperty(name = "balance",value = "余额")
    private BigDecimal balance;

    /** 创建者id */
    @Excel(name = "创建者id")
    @ApiModelProperty(name = "creatId",value = "创建者id")
    private Long creatId;

    /** 创建者名称 */
    @Excel(name = "创建者名称")
    @ApiModelProperty(name = "creatName",value = "创建者名称")
    private String creatName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "creatTime",value = "创建时间")
    private Date creatTime;

    /** 绑定状态0：待绑定；1：已绑定 */
    @Excel(name = "绑定状态0：待绑定；1：已绑定")
    @ApiModelProperty(name = "status",value = "绑定状态0：待绑定；1：已绑定")
    private Integer status;

    /** 激活人id */
    @Excel(name = "激活人id")
    @ApiModelProperty(name = "activeId",value = "激活人id")
    private Long activeId;

    /** 激活人名称 */
    @Excel(name = "激活人名称")
    @ApiModelProperty(name = "activeName",value = "激活人名称")
    private String activeName;

    /** 激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "activeTime",value = "激活时间")
    private Date activeTime;

    /** 有效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "validTime",value = "有效时间")
    private Date validTime;

    /** 绑定者id */
    @Excel(name = "绑定者id")
    @ApiModelProperty(name = "bindId",value = "绑定者id")
    private Long bindId;

    /** 绑定者名称 */
    @Excel(name = "绑定者名称")
    @ApiModelProperty(name = "bindName",value = "绑定者名称")
    private String bindName;

    /** 绑定者手机号 */
    @Excel(name = "绑定者手机号")
    @ApiModelProperty(name = "bindPhone",value = "绑定者手机号")
    private String bindPhone;

    /** 绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "bindTime",value = "绑定时间")
    private Date bindTime;

    public YanchuMovieCard(){}

    public YanchuMovieCard(String cardNum){
        this.cardNum = cardNum;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBatchId(Long batchId) 
    {
        this.batchId = batchId;
    }

    public Long getBatchId() 
    {
        return batchId;
    }
    public void setCardNum(String cardNum) 
    {
        this.cardNum = cardNum;
    }

    public String getCardNum() 
    {
        return cardNum;
    }
    public void setCardPasswoed(String cardPasswoed) 
    {
        this.cardPasswoed = cardPasswoed;
    }

    public String getCardPasswoed() 
    {
        return cardPasswoed;
    }
    public void setAmount(String amount) 
    {
        this.amount = amount;
    }

    public String getAmount() 
    {
        return amount;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }
    public void setCreatId(Long creatId) 
    {
        this.creatId = creatId;
    }

    public Long getCreatId() 
    {
        return creatId;
    }
    public void setCreatName(String creatName) 
    {
        this.creatName = creatName;
    }

    public String getCreatName() 
    {
        return creatName;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setActiveId(Long activeId) 
    {
        this.activeId = activeId;
    }

    public Long getActiveId() 
    {
        return activeId;
    }
    public void setActiveName(String activeName) 
    {
        this.activeName = activeName;
    }

    public String getActiveName() 
    {
        return activeName;
    }
    public void setActiveTime(Date activeTime) 
    {
        this.activeTime = activeTime;
    }

    public Date getActiveTime() 
    {
        return activeTime;
    }
    public void setValidTime(Date validTime) 
    {
        this.validTime = validTime;
    }

    public Date getValidTime() 
    {
        return validTime;
    }
    public void setBindId(Long bindId) 
    {
        this.bindId = bindId;
    }

    public Long getBindId() 
    {
        return bindId;
    }
    public void setBindName(String bindName) 
    {
        this.bindName = bindName;
    }

    public String getBindName() 
    {
        return bindName;
    }
    public void setBindPhone(String bindPhone) 
    {
        this.bindPhone = bindPhone;
    }

    public String getBindPhone() 
    {
        return bindPhone;
    }
    public void setBindTime(Date bindTime) 
    {
        this.bindTime = bindTime;
    }

    public Date getBindTime() 
    {
        return bindTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("batchId", getBatchId())
            .append("cardNum", getCardNum())
            .append("cardPasswoed", getCardPasswoed())
            .append("amount", getAmount())
            .append("balance", getBalance())
            .append("creatId", getCreatId())
            .append("creatName", getCreatName())
            .append("creatTime", getCreatTime())
            .append("status", getStatus())
            .append("activeId", getActiveId())
            .append("activeName", getActiveName())
            .append("activeTime", getActiveTime())
            .append("validTime", getValidTime())
            .append("bindId", getBindId())
            .append("bindName", getBindName())
            .append("bindPhone", getBindPhone())
            .append("bindTime", getBindTime())
            .toString();
    }
}
